#include <iostream>
#include <memory>
#include <functional>

int main() {
    {
        std::unique_ptr<int> w = std::make_unique<int>(10);

        auto lambda = [pw = std::move(w)]() {
        };
    }
    
    {
        auto lambda = [pw = std::make_unique<int>(10)](){
        };
    }

    {
        //C++11
        auto obj = std::bind(
            [](const std::unique_ptr<int>& pw){},
            std::make_unique<int>(10));
    }
    return 0;
}